using System;
using System.Collections.Generic;
using System.Text;

namespace App.Modelo
{
    public class Perfil
    {
        public Perfil() : base()
        {
        }

        public Perfil(Grupo grupo, Funcion funcion, Formulario formulario)
            : base()
        {
            Grupo = grupo;
            Funcion = funcion;
            Formulario = formulario;
        }

        public virtual Int32 Id { get; set; }

        public virtual Grupo Grupo { get; set; }

        public virtual Funcion Funcion { get; set; }

        public virtual Formulario Formulario { get; set; }


        public override string ToString()
        {
            return Formulario.ToString() + "/" + Funcion.ToString();
        }

        /**
         * determina si el texto coincide con este formulario/accion
         */

        public virtual bool Coincide(string p)
        {
            return Formulario.Nombre + '/' + this.Funcion.Nombre == p;
        }

        public virtual bool Coincide(Perfil perfil)
        {
            return perfil.Formulario.Equals(Formulario)
                   && perfil.Funcion.Equals(Funcion);
        }

        
    }
}
